#pragma once

#include "iplayercontrol.h"
#include <external/iselfcontrol.h>
#include <QtCore/QString>
#include "actionpausehandler.h"

class Mage;
class Scene;

class Player
{
public:
    Player(IPlayerControl *control, const QString &name);
    ~Player();

    const QString &name() const;
    int points() const;
    Mage *playerMage() const;

    void increasePoints(int value);
    void setMage(Mage *mage);
    ISelfControl::Action askControl(const Scene *scene);

private:
    ActionPauseHandler _pauseHandler;
    IPlayerControl *_control;
    QString _name;
    int _points;
    Mage *_mage;
};
